//
//  NSString+Common.h
//  ContinueEducation
//
//  Created by 迟建国 on 2018/7/10.
//  Copyright © 2018年 CE. All rights reserved.
//

#import <Foundation/Foundation.h>

/// <#Description#>
@interface NSString (Common)
- (NSString *)md5Str;
- (NSString*) sha1Str;
//判断是否是手机号码
- (BOOL)isPhoneNo;
// 生成多少位数的随机数
+ (NSString *)randomNumber:(NSInteger )length;
// 给每间隔number个字符添加一个空格
- (NSString *)spaceWithNumber:(NSInteger)number;
// 添加****
- (NSString *)phoneAddXing;
// 是否是有效数字
- (BOOL)isPureFloat;

//检测字符串是否是纯数字
+ (BOOL)isNumber:(NSString *)num;
//检测字符串是否是数字或字母组成
+ (BOOL)isNumberOrLetter:(NSString *)num;
//检测是否是手机号码
+ (BOOL)isMobileNumber:(NSString *)mobileNum;
//判断字符串是否为空或者都是空格
+ (BOOL)isBlankString:(NSString *)string;

-(BOOL)checkPassWord;

/**
 邮箱判断

 @param email email description
 @return return value description
 */
+(BOOL )isValidateEmail:( NSString  *)email;



//将0123456789转化为ABCDEFGHIJKLMN
+ (NSString *)exchangeNumToABC:(NSInteger)index;
//将ABCDEFGHIJKLMN转化为0123456789
+ (NSInteger)exchangeABCToNum:(NSString *)str;

//将字符串按数字正向排序返回新的字符串
+ (NSString *)sortStringWith:(NSString *)str;

//过滤图片标签
+(NSString *)filterHTMLImage:(NSString *)str;

/**
 替换标签

 @param str str description
 @return return value description
 */
+ (NSString *)filterHTMLTag:(NSString *)str;

/**
 字典转化为json字符串

 @param dic <#dic description#>
 @return <#return value description#>
 */
+(NSString*)dictionaryToJson:(NSDictionary *)dic;


/**
 把标签转化为文本

 @param string 利用正则
 @return 电饭锅电饭锅电饭锅
 */
-(NSString *)getZZwithString:(NSString *)string;


/**
 计算文本大小size

 @param str 文本
 @param size 大小
 @param fontsize 字体大小
 @return 返回文本大小
 */
+ (CGSize)getStringSizeWith:(NSString *)str boundingRectWithSize:(CGSize)size strFont:(CGFloat)fontsize;

/**
 将某个时间转化成时间戳
 
 @param formatTime 时间
 @param format 格式
 @return 时间戳
 */
+ (NSInteger)timeSwitchTimestamp:(NSString *)formatTime andFormatter:(NSString *)format;


/**
 将某个时间戳转化成时间
 
 @param timestamp 时间戳
 @param format 格式
 @return 时间
 */
+ (NSString *)timestampSwitchTime:(NSInteger)timestamp andFormatter:(NSString *)format;

/**
 过滤字符串 将0.1.2.3转换为A,B,C,D
 
 @return 过滤后的字符串
 */
+(NSString *)stringWithFilterStr:(NSString *)fliterStr;
/**
 秒数转固定格式的时间字符串
 
 @param time 秒数
 @return 时间字符串
 */
+(NSString *)timeFormat:(NSInteger)time;

/**
 比较线上版本与AppStore版本
 
 @param storeVersion AppStore版本
 @param onLineVersion 后台版本
 @return 较大的版本
 */
+ (NSString *)compareWithVersionStoreVersion:(NSString *)storeVersion OnLineVersion:(NSString *)onLineVersion;

/**
 是否是新版本

 @param newVersion newVersion description
 @return return value description
 */
+ (BOOL)compareWithVersionNewVersion:(NSString *)newVersion;

/// 请求路径拼接
+ (NSString *)APIPathWith:(NSString *)path;

///基础请求路径拼接
+ (NSString *)BaseAPIPathWith:(NSString *)path;
/// 会员管理请求路径拼接
/// - Parameter path: path description
+ (NSString *)HYAPIPathWith:(NSString *)path;

/// 履职管理请求路径拼接
/// - Parameter path: path description
+ (NSString *)careerAPIPathWith:(NSString *)path;

+(NSString*)getCurrentTimes;

/// 判断是否大于当前时间
/// @param tempDate tempDate description
+(BOOL)checkProductDate:(NSString *)tempDate;

/// 两个时间的时间差
+ (NSTimeInterval)getTimeFromBeginTime:(NSString *)beginTime endTime:(NSString *)endTime;

///距离当前时间
+ (NSTimeInterval)getTimeWith:(NSString *)timeStr;

/// 将数字转化为分秒显示 00:00
/// - Parameter totalSeconds: totalSeconds description
+ (NSString *)secondsToHourMinuteFormat:(int)totalSeconds;
@end
